Jinghui Liao

A computer security PhD student who prefers blockchain and 6am sunlight and misses his family.

关于Neo的一些想法

Property: Neo, Research

  1. 隐私保护的交易

    在neo系统内引入交易的隐私保护机制以隐藏交易的发起者。随着预言机的引入,用户的账户将越来越多的与现实世界中的数据产生交互,使得针对Neo账持有者在现实世界的个人信息的测信道攻击产生了可能。比如用户可能通过预言机与跟位置相关的服务产生交集,或者与产品或者公司相关的数据产生交集。

  2. Oracle 缓存

现有的预言机机制对所有的预言机调用都是采用的回调形式。但是如果预言机在同一个区块里有很多的交易都掉用了相同的数据,那么是不是可以采用缓存机制只获取一次数据。

  1. 在个人私链里直接引入主链数据

在合约开发测试阶段,也许我想直接测试合约在主网中部署后的情况,想直接调用主网的数据,但是我还是部署在自己本地的私有链里,但是这个私链直接同步主网数据,同步主网区块,同时可以处理我的合约部署和测试交易。

  1. 合约开发过程中的单元测试

对合约中的接口或者内部函数提供单元测试

  1. 开发用处理器内部的可信执行环境保护的钱包

现有的钱包机制依然会将用户的账户加载进内存里,存在潜在的被窃取的风险。如果用可信执行环境来进行保护,将所有需要签名的交易发送到可信执行环境里进行签名,那么即使系统被攻陷,用户的私钥也能得到保护。尤其是针对neo节点这种需要经常使用私钥进行签名的账户。

  1. 安全的随机数

在共识过程中引入安全的随机数生成算法,不依赖单一议长节点生成随机数。

  1. 在所有议员中随机选取议长节点

轮值议长机制使得议长的选择具有可预测性,极大的增大了议长的在整个系统中的权限(预测交易结果以提前构造对自己利益最大的交易并强制打包进新区块),应该使用一些手段对此进行限制,比如在议长选择过程中引入随机机制。

Share This Post